package com.mentaleye.service;

import com.mentaleye.bean.GroupPersonBean;
import com.mentaleye.dal.model.GroupPersonKey;
import com.mentaleye.util.CommonPage;

import java.util.List;
import java.util.Map;

/**
 * Created by Rock on 2017/5/10.
 */
public interface GroupPersonService {

    /**
     * 添加
     * @param bean 分组学生bean
     * @return 返回处理结果
     */
    public boolean add(GroupPersonBean bean);

    /**
     * 修改
     * @param bean 分组学生bean
     * @return 返回处理结果
     */
    public boolean update(GroupPersonBean bean);

    /**
     * 根据人员编号修改
     * @param bean 分组学生对象
     * @return 返回处理结果
     */
    public boolean updateByPersonId(GroupPersonBean bean);

    /**
     * 删除
     * @param key 主键对象
     * @return 返回处理结果
     */
    public boolean remove(GroupPersonKey key);

    /**
     * 条件删除
     * @param groupId 分组编号
     * @return 返回处理结果
     */
    public boolean removeByGroupId(Integer groupId);

    /**
     * 批量删除
     * @param map 删除条件
     * @return 返回处理结果
     */
    public boolean removeList(Map<String,Object> map);

    /**
     * 查询
     * @param key 主键对象
     * @return 返回查询结果
     */
    public GroupPersonBean query(GroupPersonKey key);

    /**
     * 条件查询
     * @param groupId 分组编号
     * @return 返回处理结果
     */
    public List<GroupPersonBean> queryByGroupId(Integer groupId);

    /**
     * 分页条件查询
     * @param commonPage 分页条件
     */
    public void queryByCommpage(CommonPage commonPage);

    /**
     * 条件查询
     * @param map 条件map
     * @return 返回查询结果
     */
    public List<Map<String, Object>> queryByMap(Map<String,Object> map);

    /**
     * 查询班级未分组的学员
     * @param classId 班级编号
     * @return 返回处理结果
     */
    public List<Map<String, Object>> queryByNotInClass(Integer classId);

    /**
     * 查询班级分组学员
     * @param oaclassId 班级编号
     * @param have 查询有/无  true/false
     * @return 返回查询结果
     */
    public List<Map<String, Object>> queryPersonList(Integer oaclassId, boolean have);
}
